This invention relates to a distributed system for providing quality-of-service communication services.
It is often desirable to provide different priorities and data rate (bandwidth) guarantees to different classes of data flows that share a limited capacity communication link. For example, some data flows, such as real-time audio or multimedia streams may require a guaranteed data rates and low latency, while other flows, such as bulk data transfers may not have such requirements. It may also be desirable to provide bandwidth guarantees to an aggregation of data flows within a particular class, rather than simply providing guarantees to individual flows. For example, on a particular link, bulk data transfers as an aggregate may have a minimum data rate.
A particular approach to link sharing based on a class hierarchy, and a priority, a guaranteed data rate, and a burst (maximum) data rate for each class is discussed in S. Floyd and V. Jacobson, “Link-Sharing and Resource Management Models for Packet Networks,” IEEE/ACM Transactions of Networking, Vol. 3(4), Aug. 1995. That paper describes an implementation of a packet-scheduling algorithm that scales as N-squared where N is the number of classes. This implementation provides class-based queuing as well as link fairness based on providing guaranteed data rates to classes, and allowing classes to, “borrow” data rate from idle classes to reach their maximum data rates.
Another area of recent development and standardization relates to trunking, or link aggregation, to achieve point-to-point communication capacity that combines the capacity of multiple physical links. The IEEE 802.3ad standard specifies how parallel Ethernet links are aggregated to appear as a single logical link. A link aggregation control protocol is used to distribute packets to the physical links and then collect the packets from the physical links to recreate a single flow. Commercial switches and routers are available that include multiple 100 Mb/s Ethernet links that are aggregated according to the IEEE standard.